﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using VOL;
using BLL;
using WebShoes.Class;
namespace WebShoes
{
    public partial class GioHangForm : System.Web.UI.Page
    {
        GioHang _GioHangClass = new GioHang();
        DataTable _dtGioHang = new DataTable();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                int _MaHang = 0;
                // kiểm tra xem có tồn tại mã hàng cần mua trên query string hay k?
                if (Request.QueryString["MaHangHoa"] != null)
                {
                    // nếu có thì kiểm tra xem -> mã có phải kiểu int hay k? nếu phải gán vào biến mã hàng
                    int.TryParse(Request.QueryString["MaHangHoa"], out _MaHang);
                }

                // kiểm tra lại 1 lần
                if (_MaHang > 0)
                {
                    // lưu thông tin vào session
                    _GioHangClass.MuaHang(_MaHang);

                }

                FillData();
            }
        }

        private void FillData()
        {
            _dtGioHang = (DataTable)HttpContext.Current.Session["cart"];
            GridView1.DataSource = _dtGioHang;
            GridView1.DataBind();

            lblTongTien.Text = _GioHangClass.TongTien().ToString();
        }

        protected void btnUpdate_Click(object sender, EventArgs e)
        {
            // kiểm tra xem có mặt hàng nào trong giỏ hay chưa
            if (HttpContext.Current.Session["cart"] != null)
            {
                // duyệt gridview
                foreach (GridViewRow row in GridView1.Rows)
                {
                    // tìm kiếm textbox có tên là txtSoLuong và ép nó trở thành 1 textbox control để dễ điều khiển
                    TextBox _txtSoLuong = row.FindControl("txtSoLuong") as TextBox;
                    HiddenField _hfMaHang = row.FindControl("hfMaHang") as HiddenField;

                    // lấy giá trị
                    int SoLuong = int.Parse(_txtSoLuong.Text);
                    int MaHang = int.Parse(_hfMaHang.Value);

                    // xử lý cập nhật giỏ hàng
                    _GioHangClass.CapNhatGioHang(MaHang, SoLuong);
                }

                FillData();
            }
        }
    }
}